perm filename CBUG.DEW[CMP,LSP] blob sn#329122 filedate 1978-01-14 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00006 ENDMK
CāŠ—;
āˆ‚12-Jan-78  1703	DEW  	Compiler bug  
Whit:
This is the function that the 1.6 compiler couldn't do a NULL in:


(DEFUN PRCODE (ARGS1 SPEC)
(COND	((NULL ARGS1) (PRINT @UNKNOWN-PRPAT) (SETQ SPEC (NCONS NIL)))
	((NULL (CAR SPEC)) (PRINC NIL))
	((EQUAL SQ (EVAL (CAR ARGS1))) (PRALGNOT (CAR SPEC)))
	((EQ (CAR ARGS1) @COL) (PRINC (COND ((EQ 0 (CAR SPEC)) @WHITE) (T @BLACK))))
~if line below usec, compiler barfs so use EQ NIL
~	((NULL (EVAL (CAR ARGS1))) (PRINC NIL))
	((EQ NIL (EVAL (CAR ARGS1))) (PRINC NIL))
	(T (PRINC (PNAMES (CAR SPEC)))))
(COND	((CDR SPEC) (PRINC @/ ) (PRCODE (CDR ARGS1) (CDR SPEC)))))

~this prints an instance of a pattern.  Pieces are printed directly and
~squares are printed in alg notation with correct spaces inserted.
~call should be surrounded by printing parens.

~both arguments are lists of atoms.  Evaluated the variable in the list
~ARGS1 tells how to print the integer corresponding to it in SPEC.